/**
 *  异步:
 *     耗时操作
 *
 *
 *     同步 ： 顺序执行
 *     step1:  2s
 *     step2: 15s ---- block , 假死
 *     step3: 3s
 *
 *     20s
 *
 *     异步：跳步执行
 *       step1:  2s
 *       step2: 15s --- begin，unblock
 *       step3: 3s
 * */


console.log("step1");

// step2 : 模拟异步操作
setTimeout(function () {
    console.log("step2");
},2000)
console.log("step3");


var foo = function (num1,num2,callback) {

    var result=0;
    setTimeout(function () {
        result = num1+num2; // 耗时操作
        callback(result);

    },2000)
}


foo(23,34,function (data) {
    console.log("返回的计算结果是:"+ data);
})


foo(23,45,function (data) {
    console.log("------num："+data+"------");
})





